package com.fhzn.boss.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fhzn.boss.entity.App;
import com.fhzn.boss.web.request.AppOpRequest;
import com.fhzn.boss.web.request.AppQueryRequest;
import com.fhzn.boss.web.vo.AppVO;
import org.springframework.http.ResponseEntity;

import java.io.IOException;

/**
 * @author 老顾
 * @apiNote
 * @since 2024/1/3
 */
public interface AppService {

    /**
     * 分页获取应用列表
     *
     * @param request 请求参数
     * @return 返回参数
     */
    Page<App> appWithPage(AppQueryRequest request);

    /**
     * 添加应用
     *
     * @param request 请求参数
     * @return 返回参数
     */
    AppVO add(AppOpRequest request);

    /**
     * 查询应用
     *
     * @param request 请求参数
     * @return 返回参数
     */
    AppVO queryOne(AppQueryRequest request);

    /**
     * 更新应用
     *
     * @param request 请求参数
     * @return 返回参数
     */
    String update(AppOpRequest request);

    /**
     * 导出应用
     *
     * @param code 请求参数
     * @return 返回参数
     * @throws IOException 异常
     */
    ResponseEntity<byte[]> export(String code) throws IOException;
}
